package org.Yiran.timetale_re.util.geometry;

import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.Yiran.timetale_re.Timetale_re;
import org.Yiran.timetale_re.block.base.AutoVoxelShapeBlock;

/**
 * 资源重载处理器
 * <p>
 * 监听Minecraft的资源重载事件，在资源重载时清理相关的缓存数据，
 * 确保在开发过程中修改模型文件后能够正确加载新数据。
 * </p>
 * 
 * @author Yiran
 * @version 1.0
 */
@Mod.EventBusSubscriber(modid = Timetale_re.MODID)
public class ResourceReloadHandler {
    
    /**
     * 资源重载事件处理方法
     * <p>
     * 当Minecraft触发资源重载事件时（例如在开发环境中按F3+T），
     * 清理AutoVoxelShapeBlock中的所有缓存，确保重新加载最新的模型数据。
     * </p>
     * 
     * @param event 资源重载监听器事件
     */
    @SubscribeEvent
    public static void onResourceReload(AddReloadListenerEvent event) {
        System.out.println("检测到资源重载事件，清理voxel shape缓存");
        AutoVoxelShapeBlock.clearAllCaches();
    }
}